<?php

//$event = new eventoModel();




//Recebe o array passado pelo script com o metodo post
extract($_POST);

//Verifica se o array dados existe
if(isset($dados)){
    //var_dump($dados);//exibi conteudo do array, para testes
    
    //Inicialização da variável que irá fazer a consulta no BD
    $sql="";
    
    //opções para o array dados: 
    //$dados[0]=escolhe função:0-atualizar tabela, 1-ler Numero de linhas, 2-Deletar item
    //$dados[1]=pesquisa busca pelo input digitado
    //$dados[2]=ordena a tabela
    if($dados[0] == 0){
        
        //Se o combo status for selecionado, diferente de vazio
        if($dados[1]!= ""){
            $sql = "where tbCursosTipo = $dados[1]";
            
            //se o input tema estiver preenchido acrescenta LIKE à consulta sql
            if($dados[2] != "")
                $sql = $sql . " AND tbCursosDescricao LIKE '%$dados[2]%'";
        }
        
        //para o caso do input tema estiver preenchido e o combo status nao estiver selecionado
        if($dados[1]== "" && $dados[2] != ''){
            $sql= $sql . " where tbCursosDescricao LIKE '%$dados[2]%'";
        }
        
        //Chama o metodo que atualiza a tabela na pagina eventos.php
        $event->listar($sql . " ORDER BY tbCursos$dados[3]");
        
        //Grava o conteudo da variavel sql para exibir a quantidade de linhas no proximo passo do script
        $_SESSION['sql']=$sql;	
    }
    
    //Retorna a quantidade de linhas para ser exibido no rodapé
    if($dados[0] == 1){
        $sql = $_SESSION['sql'];	
        echo $event->numLinhas($sql)."registro(s) encontrado(s)";
    }
    
    //Executa a função del() para excluir evento com o id selecionado
    if($dados[0] == 2){
        $event->del($dados[1]);
    }
}    

//usado para executar as funções dos formulários de inserir ou editar dados
extract($_GET);

if(isset($id))
    $idCurso= $id;

if(isset($funcao)){
    $event = new cursosModel();
    if($funcao == "inserir"){
        session_start();
        $idEvento=$_SESSION['idEvento'];
        $event->inserir($idEvento);
    }
    if($funcao == "edit"){
        $event->editar($idCurso);
    }
}
    
class cursosModel{
    private $crud;
    
    //Metodo construtor da classe
    public function __construct(){
        //Classe que tem acesso direto ao banco de dados
        include 'conexaoMysql.php';
        $this->crud = new Crud();
    }
    
    //funcao que informa a quantidade de registros encontrados
    function numLinhas($sql, $tabela='tbCursos'){
        return mysql_num_rows($this->crud->ler($tabela,'*', $sql)); 
    }

    //funcao que atualiza a tabela
    function listar($sql=""){
        $res = $this->crud->ler('tbCursos','*',$sql);
        
        //Usada para fazer o efeito zebra na tabela
        $div = 0;
        
        //relaciona a tabela
        while ($linha = mysql_fetch_array($res)){
             if($div%2 == 0) echo "<tr class=zebra0>"; else echo "<tr class=zebra1>"; $div++; 
				//echo "<td>$linha[tbCursosId]</td>";
                echo "<td>$linha[tbCursosDescricao]</td>";
                //echo "<td>$linha[tbCursosLocal]</td>";
                echo "<td  align=center>".$this->crud->inverterdata($linha['tbCursosData'],"-")."</td>";
                echo "<td align=center>$linha[tbCursosHoraInicio]</td>";
                echo "<td align=center>$linha[tbCursosHoraFim]</td>";
               //echo "<td align=right>$linha[tbCursosVagas]</td>";
               //echo "<td align=right>".number_format($linha['tbCursosValor'],2,",",".")."</td>";
                echo "<td align=center><a href=cursosDetalhar.php?idCurso=$linha[0]><img style=vertical-align: middle src=../images/det.png> </a>
                      <a  id=s2 href=cursosFormEdit.php?cursoId=$linha[0]><img style=vertical-align: middle src=../images/edit.png> </a>
                      </tr>";
        }
    }
    
    //<a  onclick='confirmExclusao($linha[0])'><img style=vertical-align: middle src=../images/del.png> </a></td>
    function inserir($idEvento){
        extract($_POST);
        $dtinicio = $this->crud->inverterData($tbCursosData);
        $horraInicio = str_replace(':', '', $tbCursoshoraInicio);
        //$dtfim = $this->crud->inverterData($tbEventoDataFim);
        $this->crud->inserir('tbCursos', 
                 'tbCursosDescricao,     tbCursosHoraInicio,    tbCursosLocal,   tbCursosData, tbCursosModalidade,   tbCursosTipo,    tbCursosVagas, tbCursosValor,     tbCursosIdEvento' ,
                "'$tbCursosDescricao', '$tbCursosHoraInicio',  '$tbCursosLocal', '$dtinicio', '$tbCursosModalidade', '$tbCursosTipo', '$tbCursosVagas','$tbCursosValor', '$idEvento'");
                header("location:cursos.php");
    }
    
    function editar($idCurso){
        extract($_POST);
		$dtinicio = $this->crud->inverterData($tbCursosData);
                $horaInicio = str_replace(':', '', $tbCursosHoraInicio);
                $horaFim = str_replace(':', '', $tbCursosHoraFim);
            $this->crud->alterar('tbCursos', 
                "tbCursosDescricao =  '$tbCursosDescricao',    tbCursosHoraInicio = '$horaInicio',
                 tbCursosHoraFim = '$horaFim',   tbCursosLocal = '$tbCursosLocal',
                 tbCursosData = '$dtinicio', tbCursosModalidade = '$tbCursosModalidade', 
		 tbCursosTipo = '$tbCursosTipo', tbCursosVagas = '$tbCursosVagas', tbCursosValor = '$tbCursosValor'", "where tbCursosId = $idCurso");
            header("location:cursos.php");
    }

    function del($id){
        //Verifica se existe algum curso relacionado ao evento selecionado para exclusão
        $res = $this->numLinhas("where tbInscricoesIdCurso = $id", 'tbInscricoes');
        
        //deleta o evento apenas se a qantidade de curso relacionado ao evento for 0 
        if($res==0){
            $this->crud->apagar('tbCursos', "where tbCursosId = $id");
            echo "<script>alert('Sub-Evento excluido com sucesso!!!');
                          atualizaTabela();";
        }else{
            echo "<script>alert('Sub-Evento possui Inscrição(s) relacionada(s)'); 
                //location.href='cursos.php'
                </script>";
       }
    }
}
